// 日期区间判断函数
export const checkDateRange = (startDateStr, endDateStr) => {
  // 校验输入参数
  if (!startDateStr || !endDateStr) {
    throw new Error("开始日期和结束日期均为必填项");
  }

  // 格式化日期字符串为Date对象
  const formatDate = (dateStr) => {
    const [year, month, day] = dateStr.split("-");
    return new Date(year, month - 1, day);
  };

  try {
    const startDate = formatDate(startDateStr);
    const endDate = formatDate(endDateStr);
    const today = new Date();
    today.setHours(0, 0, 0, 0); // 重置为当天0点

    // 校验日期顺序（startDate必须小于endDate）
    if (startDate >= endDate) {
      throw new Error("开始日期必须小于结束日期");
    }

    // 判断当前日期所处区间
    if (today < startDate) {
      return 0; // 在开始日期之前
    } else if (today <= endDate) {
      return 1; // 在日期区间内
    } else {
      return 2; // 在结束日期之后
    }
  } catch (error) {
    console.error("日期格式错误或参数异常", error);
    throw error;
  }
};
